FIG. 1 illustrates a prior art video system 10 between a set top box 20 and a television receiver 30. Set top box 20 sometimes takes the form of a DVD player and television receiver 30 sometimes takes the form of a monitor.
The content protection protocol used in system 10 is high bandwidth digital content protection (HDCP) commonly used on DVI (digital video interface) or panel-link type interfaces. Included in the prior art system 10 is a first content protection state machine 40, in the set top box 20, and a second content protection state machine 50, in the television receiver 30. First content protection state machine 40 encrypts video data and second content protection state machine 50 decrypts the video data before it is displayed. The reason for the encryption by content protection state machine 40 is to prevent unauthorized copying of the video signal with, for example, a video tape recorder.
A modulator 60 converts various data signals, including the video data, for efficient transport over a set of differential pairs of wires 70 that are synchronized by clock 80. A demodulator 90 then reverts the signals into a control 3 (CTL3) signal 100, a 24 bit data path 110, a set of control signal lines (CTL0, CTL1 and CTL3) 120, and a clock line 130. Also included is a microprocessor 140 that controls the entire system 10. Microprocessor 140 communicates with content protection state machine 50 via DDC (display data channel) bus 142.
FIG. 2 is a timing diagram of the operational characteristics of a prior art HDCP system and further illustrates some of its limitations. In a video stream, there are sections of the signal that do not contain any video data (blanking intervals) which can be conceptually represented by a low data enable (DE) signal 150 and can also be referred to as a blanking interval. During the blanking interval 150, a vertical synchronization (VSYNC) pulse 160 typically will be asserted, resulting in a CTL3 pulse 100. The CTL3 pulse 100 signals the content protection state machine 50 that the next video frame needs to be decrypted. A low VSYNC pulse can also be employed to achieve the same results. Additionally, the CTL3 pulse 100 can be coincident with a leading edge 162 of the VSYNC pulse 160, though the relationship between the CTL3 pulse 100 and the VSYNC pulse 160 is loosely defined.
The HDCP protocol specifies that the CTL3 pulse 100 needs to be at least eight clock signals wide in order for the content protection state machine 50 to be properly notified to decrypt the next video frame. A CTL3 pulse can get corrupted, however, and this results in video frames not being decrypted, when they should be, and is manifested as “snow” on a display. Conversely, video frames that do not need to be decrypted can be subjected to decryption
and also results in a scrambled display. This degradation of the video signal will completely prevent the viewing of the images generated by the video signal. Some typical non-ideal CTL3 pulses include a glitch 170 or glitches 180 that will separate a CTL3 pulse into several pulses, each less than eight clock signals wide; a CTL3 pulse due to noise 190, a first false CTL3 pulse 200 where a pulse exists when one should not and a second false CTL3 pulse 210 where a pulse is present at the wrong point in time in relation to the VSYNC 16 and DE. Additionally, it is possible for the two numbers to match, even if the picture is not decrypted properly. In this situation, re-authentication is prevented when it is useful and necessary.
When a problem with the video decryption occurs, a re-authentication process needs to take place to restore the video image and can take up to several seconds. This is accomplished by comparing two 16 bit numbers before and after the video frame is encrypted/decrypted. If the two numbers do not match, the set top box 20 initiates the re-authentication process. Sometimes the numbers do not match up, however, even if the picture was decrypted properly. This causes an unnecessary re-authentication cycle to occur and results in a lost image which manifests as a glitch in the images generated by the video signal. Additionally, it is possible for the two numbers to match, even if the picture is not decrypted properly. In this situation, re-authentication is prevented when it is useful and necessary.
Accordingly, what is needed is a method to screen out invalid control signals, accurately detect valid control signals and prevent invalid re-synchronization cycles in order to maintain a continuous video stream on a display.